package com.bing.my.service;

import com.bing.my.entity.Bill;
import com.baomidou.mybatisplus.extension.service.IService;
import com.bing.my.entity.GooseBill;
import com.bing.my.entity.Member;
import com.bing.my.entity.vo.VoPay;
import com.sun.istack.internal.NotNull;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * <p>
 * 账单数据 服务类
 * </p>
 *
 * @author bing
 * @since 2021-10-26
 */
public interface BillService extends IService<Bill> {
    /**
    * 新增账单数据
    * @author Bing
    * @date 2021/10/26 12:26
     * @param bill
    * @return int
    */
    int insert(Bill bill);
    /**
    * 支付
     * 需要支持事务
    * @author Bing
    * @date 2021/10/26 12:36
     * @param id 会员id
     * @param bill 账单数据
     * @param gooseBill 商品详情数据
    * @return boolean
    */
    boolean pay(@NotNull String id, @NotNull Bill bill, @NotNull ArrayList<GooseBill> gooseBill);


    /**
    * 根据时间范围查询
    * @author Bing
    * @date 2021/10/26 21:11
     * @param star
     * @param end
    * @return com.bing.my.entity.Bill
    */
    List<Bill> inquireBill(Date star, Date end);
    /**
    * 封装数据进实体类,voPay
    * @author Bing
    * @date 2021/10/26 22:50
     * @param star
     * @param end
    * @return java.util.List<com.bing.my.entity.vo.VoPay>
    */
    List<VoPay> inquirePayData(String star, String end);
}
